#ifndef ADVENTURE_CARD_H
#define ADVENTURE_CARD_H

#include <qwidget.h>
#include <qimage.h>
#include <string>

#include "Instruction.h"

class AdventureCard : public QWidget
{
public :
	AdventureCard(std::string iName, std::string iDesc, QImage *img, QWidget *parent = 0);
	AdventureCard(QWidget *parent = 0);
	virtual ~AdventureCard();

	inline bool faceUp(void) const { return mFaceUp ; };
	inline void setFaceUp(const bool iFaceUp) { mFaceUp = iFaceUp; };
	inline std::string getName(void) const { return name; };
	inline std::string getDescription(void) const { return description; };

	inline void setInstruction(Instruction *iInstr) { mInstruction = iInstr; };
	inline Instruction* getInstruction(void) const {return mInstruction; };

protected:
	virtual void paintEvent(QPaintEvent *event) override;
private:
	QImage * faceImage;
	QImage backImage;
	QImage background;
	QImage exclam;
	std::string name;
	std::string description;
	int encounterNumber;
	bool mFaceUp;

	Instruction * mInstruction;
};

#endif